package org.asiainfo.system.domain.vo;

import java.util.Date;

import cn.hutool.core.convert.Convert;
import com.mybatisflex.annotation.TableRef;
import org.asiainfo.common.core.utils.StringUtils;
import org.asiainfo.system.domain.SysTenantPackage;
import lombok.Data;
import io.github.linpeilie.annotations.AutoMapper;

import java.io.Serial;
import java.io.Serializable;

/**
 * 授权管理视图对象 sys_tenant_package
 *
 * @author dotor-ww
 */
@Data
@AutoMapper(target = SysTenantPackage.class)
@TableRef(SysTenantPackage.class)
public class SysTenantPackageVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 租户套餐ID
     */
    private Long packageId;
    /**
     * 套餐名称
     */
    private String packageName;
    /**
     * 关联菜单ID
     */
    private String menuIds;
    /**
     * 菜单ID集合
     */
    private Long[] menuIdList;
    /**
     * 备注信息
     */
    private String remark;
    /**
     * 菜单树选择项是否关联显示
     */
    private Boolean menuCheckStrictly;
    /**
     * 租户状态(0:正常 1:停用)
     */
    private String status;
    /**
     * 删除标志(0:存在 2:删除)
     */
    private String delFlag;
    /**
     * 创建部门
     */
    private Long createDept;
    /**
     * 创建人
     */
    private Long createBy;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新人
     */
    private Long updateBy;
    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 获取菜单ID集合
     * @param menuIds 菜单ID集合
     */
    public void setMenuIds(String menuIds) {
        this.menuIds = menuIds;
        if (StringUtils.isNotEmpty(menuIds)) {
            this.menuIdList = Convert.toLongArray(StringUtils.splitList(menuIds));
        }
    }
}

